﻿using FluentNHibernate.Mapping;

namespace Business.Entity.Contabil.Pessoa
{
    public class PessoaMap : ClassMap<Pessoa>
    {
        public PessoaMap()
        {
            Id(x => x.Id).Not.Nullable().Unique().GeneratedBy.Sequence("sqPessoa");
            References(x => x.Fornecedor).PropertyRef("Pessoa").LazyLoad();

            Map(x => x.DataCadastro);
            Map(x => x.TipoPessoa).CustomType<int>();
            Map(x => x.Nome);
            Map(x => x.Alias);
            Map(x => x.CpfCnpj);
            Map(x => x.InscricaoEstadual);
            Map(x => x.Sexo).CustomType<int>();
            Map(x => x.Status);

            HasMany(x => x.Enderecos).Cascade.All().LazyLoad();
            HasMany(x => x.ContatoTelefonicos).Cascade.All().LazyLoad();
            HasMany(x => x.EnderecoEletronicos).Cascade.All().LazyLoad();
            
        }
    }
}
